/**
  * @file     	key.c
  * @author   	YangHaifeng
  * @email   	2995339193@qq.com
  * @version	V0.0
  * @license  	GNU General Public License (GPL)  
  * @detail		please follow the license!!!
  * @attention
  *  this file is aim to do something with key									
  *   																	
  * @htmlonly 
  * <span style="font-weight: bold">History</span> 
  * @endhtmlonly 
  * Version|Auther|Describe
  * ------|----|-------- 
  * V0.0|YangHaifeng|Create File
  * <h2><center>&copy;COPYRIGHT YangHaifeng All Rights Reserved.</center></h2>
  */ 
 
 #include "key.h"
 #include "delay.h"
 
 
uint8_t key_value = 0;
 
 
/**
 * @brief 按键初始化
 * @param None
 * @retval None
 * @author YangHaifeng
 */
void key_init(void)
{
	GPIO_setAsInputPinWithPullUpResistor(GPIO_PORT_P1,GPIO_PIN1);
	GPIO_setAsInputPinWithPullUpResistor(GPIO_PORT_P1,GPIO_PIN4);
}



/**
 * @brief 按键扫描函数
 * @param None
 * @retval None
 * @author YangHaifeng
 */
void key_scanf(void)
{
	static uint8_t flag1 = 0,flag2 = 0;
	
	if((flag1 == 0) && (GPIO_getInputPinValue(GPIO_PORT_P1,GPIO_PIN1) == 0))
	{
		delay_us(5);
		if((flag1 == 0) && (GPIO_getInputPinValue(GPIO_PORT_P1,GPIO_PIN1) == 0))
		{
			flag1 = 1;
		}
	}
	if((flag1 == 1) && (GPIO_getInputPinValue(GPIO_PORT_P1,GPIO_PIN1) == 1))
	{
		delay_us(5);
		if((flag1 == 1) && (GPIO_getInputPinValue(GPIO_PORT_P1,GPIO_PIN1) == 1))
		{
			key_value = 1;
			flag1 = 0;
		}
	}
	
	if((flag2 == 0) && (GPIO_getInputPinValue(GPIO_PORT_P1,GPIO_PIN4) == 0))
	{
		delay_us(5);
		if((flag2 == 0) && (GPIO_getInputPinValue(GPIO_PORT_P1,GPIO_PIN4) == 0))
		{
			flag2 = 1;
		}
	}
	if((flag2 == 1) && (GPIO_getInputPinValue(GPIO_PORT_P1,GPIO_PIN4) == 1))
	{
		delay_us(5);
		if((flag2 == 1) && (GPIO_getInputPinValue(GPIO_PORT_P1,GPIO_PIN4) == 1))
		{
			key_value = 2;
			flag2 = 0;
		}
	}
}





